package com.csw.demojson.controller.gson;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.util.List;
import java.util.Map;

public class GsonDemo {
	public static void main(String[] args) {
		// 总结Gson gson = new Gson();
		// map对象,list对象,或实体对象转JSONString //gson.toJson(对象)
		// JSONString转map //gson.fromJson(jsonMap, Map.class);
		// JSONString转实体对象 //gson.fromJson(JSONString, 对象.class)
		// JSONString转list<实体对象> //gson.fromJson(JSONString, new TypeToken<List<对象>>()
		// {}.getType());
		//// 当里面是Object或其他类型的时候还是用gson.fromJson(gson.toJson(o1), (Type) Object.class)
		// JSONArray和JSONObject先转换成JSONString，再按照上面方法转，记住JSONString是中转

		// 测试javaBean转json
		String jsonBean = new Gson().toJson(new Object());

		// 测试json转对象
		Object o = new Gson().fromJson(jsonBean, Object.class);

		// 测试json转list
		List<Object> userList1 = new Gson().fromJson(jsonBean, new TypeToken<List<Object>>() {
		}.getType());

		// 测试json转Map
		Map maps1 = new Gson().fromJson(jsonBean, Map.class);


	}
}
